package com.cn.wanxi.util;

import com.cn.wanxi.model.AbstractModel;

public class MyHelp {
    /**
     * 2021-8-5
     * 第三阶段：将所有数据存入文件然后读取出来渲染到页面上
     * 1.数据
     * 2.文件
     * 3.页面
     * 4.JavaWeb  servlet
     * ------------------------------------
     * 思路
     * 1.页面数据来源于后台，所以jsp正常
     * 2.servlet --这里的数据来源于service ---（页面转发数据）
     * 2.5  数据来源于文件---（有文件 读数据 写数据）（逻辑关系的复杂）
     * 3.service的数据来源于文件
     * 4.dao（文件相当于dao层）
     * -----------------------------------
     * 能不能不用修改别人的代码。。。直接用自己的代码也能正常访问
     * 两种代码有一个共同点：封装数据，
     * 方法名和方法返回值都是一样的，包括参数都是一样的
     * 重载和重写进行对比？记忆
     * 重载：目的：多态：多种形态：
     * 方法名一样   参数类型和个数不同
     * 重写：抽象类的 子类重写父类的方法：子类和父类执行方法的内容不一样才需要重写
     * 为什么不写普通方法而需要写抽象方法？
     * 抽象方法子类必须实现，普通方法子类可以不用重写！
     * 重写：方法名和参数一样：
     * 怎么判断类型是否一致？
     * 怎么得到数据类型？
     * 重载和重写的区别？
     * ----------------------------------------
     * 第二阶段和第三阶段逻辑层做的事情一样，那么方法也必须应该一样
     * 写抽象类？实现多态：
     * ---接口：
     *
     * -----------------------------
     * File类
     * IO流  写
     * 字节
     * 数组与集合？
     *
     *
     */
    /**
     *  2021-8-6
     *  公司信息封装   通过读取出来的数据（字符串）然后封装到对象
     *  String  重要的方法？
     *          replace   sub
     *          substring getbytes
     *          equals chatAt indexOf
     *          isEmpty  startsWith
     *          trim  toString
     *          compareTo  split
     *  导航封装
     *      1.创建文件---因为和公司创建文件一致，除了名字不一样，所以需要提取公共方法
     *              封装类！
     *      2.封装写入的数据：因为我们写入时都是字符串 所以需要将数组转换为字符串
     *      3.写入数据：因为写入数据都是一样
     *
     */
    /**
     * 2021-8-9
     * 读取数据
     * 封装数据
     * 1.replace
     * 2.就是对读取数据（字符串）的封装
     * 注意：如果数据里面有和分隔符一样的字符情况怎么办？
     * 注意：当前对象不能和其他对象里面有强关联关系（两个对象毫无关系）
     * 普通类里面不能出现魔法值（固定的字符串和数字）
     * 一般情况下用常量  所以需要一个常量类
     * 一般需要对常量进行再次封装，不能出现共同的代码太多
     * 接口---------一般情况下写方法
     * 枚举------------怎么拿到枚举里面的数据
     * 以后枚举很少用 --会被替换 设计模式
     * 设计模式的六大原则和23中设计模式
     * 六大原则
     * 单例模式
     * 访问者模式
     * 策略模式
     * 工程模式
     * 装饰器模式
     * 观察者模式
     * 访问者模式
     * 中介者模式
     */
    public static void main(String[] args) {

//      匿名 内部类,抽象类和接口不能实例化对象，必须通过子类进行实例化
//        AbstractModel abstractModel = new AbstractModel() {
//            @Override
//            public String eat() {
//                return null;
//            }
//
//            @Override
//            public void run() {
//
//            }
//
//            @Override
//            public void sleep() {
//
//            }
//        };
//        Integer aa=1;
//       boolean bb= aa instanceof Object;
//        System.out.println(aa.getClass().toString());
//        System.out.print();
    }

}
